<HTML>

<HEAD>
   <TITLE>WEEK 3 -- In Review</TITLE>
   <META>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#CE2910">
</HEAD>
<BODY>

<TABLE BORDERCOLOR=#000000 BORDER=10>
<TR><TD><H1><FONT SIZE=6 COLOR=#FF0000>WEEK 3</FONT></H1>

</TD></TR>
</TABLE>
<HR>
<H1><FONT SIZE=6 COLOR=#FF0000>In Review</FONT></H1>
<BLOCKQUOTE>
Give yourself a big pat on the back, because you deserve it! You've
weathered the storm and finished this three-week whirlwind tour
of Java game programming. In this last week, you learned about
some pretty advanced game programming concepts, including artificial
intelligence, networking, and Java code optimization. Let's recap
what you learned this week before you move on to turning your
own game ideas into Java realities.
</BLOCKQUOTE>
<H2><FONT SIZE=5 COLOR=#FF0000>Day 15</FONT></H2>
<BLOCKQUOTE>
In Day 15's lesson, you learned the fundamentals of artificial
intelligence, including the major types of AI used in games. You
moved on to learning about the AI techniques used in some popular
commercial games, which provided you with some insight into where
AI is headed in the gaming industry. You finished up the lesson
by seeing some resources on the Web for doing further research
on AI.
</BLOCKQUOTE>
<H2><FONT SIZE=5 COLOR=#FF0000>Day 16</FONT></H2>
<BLOCKQUOTE>
On Day 16, you developed a complete game, Connect4, that used
artificial intelligence to provide the &quot;brains&quot; for
a computer player. You began by defining the rules of the game
and studying basic AI strategies. You then developed a Connect4
game engine complete with AI, along with an applet that utilized
the engine.
</BLOCKQUOTE>
<H2><FONT SIZE=5 COLOR=#FF0000>Day 17</FONT></H2>
<BLOCKQUOTE>
Day 17's lesson focused on the basics of multiplayer gaming, including
the two primary types of multiplayer games. You then learned about
the most common problems associated with developing multiplayer
games, along with corresponding solutions. The lesson concluded
with a discussion of game theory, which is an interesting area
of academic research that can be applied to multiplayer game design.
</BLOCKQUOTE>
<H2><FONT SIZE=5 COLOR=#FF0000>Day 18</FONT></H2>
<BLOCKQUOTE>
Day 18's lesson presented Java's support for networking, along
with some strategies for developing networked applets in Java.
You learned about the client/server approach to network programming
and how it can be used to facilitate interaction between multiple
users on the Internet. You finished by developing a powerful network
class, <TT><FONT FACE="Courier">SocketAction</FONT></TT>, which
provides the overhead for performing streamed socket communication.
</BLOCKQUOTE>
<H2><FONT SIZE=5 COLOR=#FF0000>Day 19</FONT></H2>
<BLOCKQUOTE>
On Day 19, you developed a complete network Java game, NetConnect4,
that allows two players to play Connect4 over the Internet. You
began by studying the network requirements of the game, and then
moved on to developing the client/server classes necessary for
network communication. You then integrated this code into the
original Connect4 game to build the complete NetConnect4 game.
</BLOCKQUOTE>
<H2><FONT SIZE=5 COLOR=#FF0000>Day 20</FONT></H2>
<BLOCKQUOTE>
On Day 20, you learned about techniques for optimizing Java code
in games. Although Java is a fairly high-level language, you learned
a variety of ways to squeeze more performance out of your game
code. You first took a look at the different approaches to dealing
with opti-mizations, including the use of a profiler. You then
finished up by learning a wide range of techniques for altering
Java code to be more efficient.
</BLOCKQUOTE>
<H2><FONT SIZE=5 COLOR=#FF0000>Day 21</FONT></H2>
<BLOCKQUOTE>
Your final lesson focused on the tools of the Java trade. You
learned about the latest Java development environments and how
they can be used to improve the game development process. Although
writing cool Java games ultimately boils down to writing efficient,
well-organized Java code, putting together a powerful toolkit
will no doubt save you time and energy in the long run.
</BLOCKQUOTE>
<P>
<HR WIDTH="100%"></P>

<CENTER><P><A HREF="ch21.htm"><IMG SRC="pc.gif" BORDER=0 HEIGHT=88 WIDTH=140></A><A HREF="index.htm"><IMG SRC="hb.gif" BORDER=0 HEIGHT=88 WIDTH=140></A><A HREF="#CONTENTS"><IMG SRC="cc.gif" BORDER=0 HEIGHT=88 WIDTH=140></A><A HREF="appa.htm"><IMG 
SRC="nc.gif" BORDER=0 HEIGHT=88 WIDTH=140></A></P></CENTER>

<P>
<HR WIDTH="100%"></P>

</BODY>
</HTML>


